$(function () {
	const layer = layui.layer;
	const form = layui.form;
	// 获取请求数据
	initArtCateList();
	function initArtCateList() {
		$.ajax({
			method: 'GET',
			url: '/my/article/cates',
			success(res) {
				if (res.status !== 0) {
					return layer.msg('获取数据失败！');
				}
				// console.log(res);
				const html = template('tpl-table', res);
				$('tbody').html(html);
			}
		});
	}
	// 添加类绑定事件
	$('#btnAddCate').on('click', function () {
		indexAdd = layer.open({
			type: 1,
			area: ['500px', '250px'],
			title: '添加文章分类',
			content: $('#dialog-add').html()
		});
	});
	// 事件委托形式发起数据请求  因为是动态按钮
	$('body').on('submit', '#form-add', function (e) {
		e.preventDefault();
		$.ajax({
			method: 'POST',
			url: '/my/article/addcates',
			data: $(this).serialize(),
			success(res) {
				if (res.status !== 0) {
					return layer.msg('新增文章失败！');
				}
				layer.msg(res.message);
				// 重新刷新表单
				initArtCateList();
				// TODO:根据索引关闭对应弹出
				layer.close(indexAdd);
			}
		});
	});
	$('tbody').on('click', '#btn-edit', function () {
		// 动态弹出框
		indexEdit = layer.open({
			type: 1,
			area: ['500px', '250px'],
			title: '修改文章分类',
			content: $('#dialog-edit').html()
		});
		// 为每个编辑按钮绑定对应id进行区分 绑定方式为自定义属性 data-id
		const id = $(this).attr('data-id');
		$.ajax({
			method: 'GET',
			url: '/my/article/cates/' + id,
			success(res) {
				if (res.status === 0) {
					return form.val('form-edit', res.data);
				}
			}
		});
	});
	// 事件委托添加绑定修改按钮
	$('body').on('submit', '#form-edit', function (e) {
		e.preventDefault();
		$.ajax({
			method: 'POST',
			url: '/my/article/updatecate',
			data: $(this).serialize(),
			success(res) {
				if (res.status !== 0) {
					return layer.msg('修改数据失败！');
				}
				layer.msg(res.message);
				// 刷新表单
				initArtCateList();
				//关闭弹窗
				layer.close(indexEdit);
			}
		});
	});
	// 删除按钮绑定自定义属性
	$('body').on('click', '#btn-delete', function () {
		const id = $(this).attr('data-id');
		layer.confirm('确认删除？', { icon: 3, title: '提示' }, function (index) {
			$.ajax({
				method: 'GET',
				url: '/my/article/deletecate/' + id,
				success(res) {
					if (res.status !== 0) {
						return layer.msg('删除分类失败！');
					}
					layer.msg(res.message);
					layer.close(index);
					initArtCateList();
				}
			});
		});
	});
});
